<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>开始使用 layui</title>
    <!-- 引入 layui css样式表 -->
    <link rel="stylesheet" href="./layui/css/layui.css">
</head>
<body>

<div id="loginFormDiv">
    <form class="layui-form" action="" lay-filter="example">
        <div class="layui-form-item">
            <label class="layui-form-label">用户名</label>
            <div class="layui-input-inline">
                <input type="text" name="email" lay-verify="title" autocomplete="off" placeholder="请输入用户名" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">密码框</label>
            <div class="layui-input-inline">
                <input type="password" name="password" lay-verify="pass" placeholder="请输入密码" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">验证码</label>
            <div class="layui-input-inline">
                <input type="text" name="capchar" autocomplete="off" placeholder="请输入验证码" class="layui-input">
            </div>
            <div class="layui-input-inline">
                <img src="/captcha" style="width:85px;height: 38px" id="cap"/>
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button type="submit" class="layui-btn" lay-submit="" lay-filter="loginbtn">立即提交</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </form>
</div>
<!-- 引入 layui js文件 -->
<script src="./layui/layui.js"></script>
<script>
    // lay ui 核心 函数
    layui.use(function(){
        //第一部分，声明一下都使用了layui 的哪些模块（对象）
        var layer = layui.layer;
        var form = layui.form;
        var $ = layui.$;

        //第二部分，使用已经声明好的对象，实现业务功能
        // layer.msg('Hello World');
        //监听提交
        //form.on 方法的第一个参数，指明需要监听form表单上发生的哪种事件;第二个参数是一个回调函数，可以让我们处理该事件
        form.on('submit(loginbtn)', function(data){
            //我们需要的表单中的数据，放在了 data.field 中
            // layer.alert(JSON.stringify(data.field), {
            //     title: '最终的提交信息'
            // });

            //发送 登陆的ajax请求给后端接口
            //注意：使用ajax发送post请求时，data属性中直接放js对象即可，不用放json数据
            //如果要发送json数据的话，还需要指定请求头
            $.ajax({
                url:"/login/login",
                data:data.field,
                type:"post",
                success: function(result){
                    console.log(result);
                    //登陆成功进行页面跳转
                    if(result.code == "1"){
                        window.location = "/index.html";
                    }else{
                        //登陆失败给出提示信息
                        layer.alert(result.message, {
                            title: '提示信息'
                        });
                    }

                }
            });

            //阻止表单的默认提交行为
            return false;
        });

        //注册验证码图片的单击事件，每次单击重新请求验证码
        $("#cap").click(function () {
            //刷新验证码
            path = $(this).attr("src")+"?"+new Date().getTime();
            $(this).attr("src",path);
        });

        //自定义验证规则
        form.verify({
            title: function(value){
                if(value.length < 4){
                    return '标题至少得4个字符啊';
                }
            }
            ,pass: [
                /^[\S]{5,12}$/
                ,'密码必须5到12位，且不能出现空格'
            ]

        });

    });
</script>

<style>
    #loginFormDiv {
        border: 1px solid blue;
        margin: 100px auto;
        padding: 50px 20px 20px 50px ;
        width: 600px;
        height: 300px;
        box-shadow: 15px 15px 15px 15px #888888;
    }

</style>

</body>
</html>